home *** CD-ROM | disk | FTP | other *** search
/ Merciful 2 / Merciful - Disc 2.iso / software / k / kids7.dms / kids7.adf / title.amos / title.amosSourceCode < prev   
AMOS Source Code  |  1992-10-04  |  13KB  |  377 lines

  1. Global NAME$,SELECT,CHANGE$,WLT$
  2. '
  3. BIGGIES
  4. '
  5. Procedure BIGGIES
  6.    Colour Back $BBB : Load "KIDS-7:bits/tsam.abk",5 : Sam Loop On : Sam Play 15,1,8500 : Get Fonts 
  7.    S=Screen : Volume 63 : If S=0 Then Screen Close 0
  8.    Unpack 10 To 0 : Screen Display 0,120,34,, : Bob 1,234,111,1 : Reserve Zone 3
  9.    Set Zone 1,237,70 To 312,103 : Set Zone 2,237,114 To 312,145 : Set Zone 3,237,156 To 312,188
  10.    Shift Up 10,16,19,1 : X Mouse=274 : Y Mouse=74 : WLT$=""
  11.    PH1$="                Pretty  helpful  eh?" : PH2$="I  hate  it  when  that  happens!"
  12.    Screen Open 1,320,50,32,Lowres : Get Palette 0 : Screen To Back : Curs Off : Flash Off : Cls 21 : Set Font 3 : Ink 10,21 : Screen Hide 1
  13.    Do 
  14.       If N=16 or N=0 Then Restore 
  15.       Add N,1,1 To 16
  16.       CHECK : CH=Param
  17.       If CH=99 : TX$=PH1$ : N=0 : Goto HERE : End If 
  18.       If CH=98 : TX$=PH2$ : N=0 : Goto HERE : End If 
  19.       Read TX$ : Wait 5
  20.       HERE:
  21.       Screen 1 : Cls 21 : Ink 22,21 : Text 15,15,TX$
  22.       For T=2 To 22
  23.          Screen Copy 1,4,T-1,300,T To 0,10,T+10 : Wait 4 : CHECK : CH=Param
  24.          If CH=99 : TX$=PH1$ : N=0 : Goto HERE : End If 
  25.          If CH=98 : TX$=PH2$ : N=0 : Goto HERE : End If 
  26.       Next T
  27.       Wait 5 : Screen 1 : Cls 21
  28.       I=Rnd(13)+2 : Ink I,21 : Text 15,15,TX$
  29.       For T=2 To 22
  30.          Screen Copy 1,4,T-1,300,T To 0,10,T+10 : Wait 4 : CHECK : CH=Param
  31.          If CH=99 : TX$=PH1$ : N=0 : Goto HERE : End If 
  32.          If CH=98 : TX$=PH2$ : N=0 : Goto HERE : End If 
  33.       Next T
  34.       Screen 1 : Cls 21 : Ink 21,21 : Text 15,15,TX$
  35.       For T=22 To 2 Step -1
  36.          Screen Copy 1,4,T-1,300,T To 0,10,T+10 : Wait 1 : CHECK : CH=Param
  37.          If CH=99 : TX$=PH1$ : N=0 : Goto HERE : End If 
  38.          If CH=98 : TX$=PH2$ : N=0 : Goto HERE : End If 
  39.       Next T
  40.    Loop 
  41.    Data "               Copyright ï¿½ 1995      "
  42.    Data "                  Duncan Moran       "
  43.    Data "   Make a copy & give it away "
  44.    Data "              Created with AMOS   "
  45.    Data "  Press the keyboard's HELP..."
  46.    Data "  ...key for the instructions "
  47.    Data "  or go and click on something! "
  48.    Data "  Didn't win the lottery again? "
  49.    Data "   Here's a money saving tip..."
  50.    Data "          tell all your friends... "
  51.    Data "          don't buy Licenceware."
  52.    Data "             Save a fortune!"
  53.    Data "       Real programmers do it..."
  54.    Data "                   ... in  public!   "
  55.    Data "             This is all there is! "
  56.    Data "             There is nothing else! "
  57. End Proc
  58. Procedure CHECK
  59.    Screen 0 : CH=0
  60.    A$=Inkey$ : S=Scancode : MZ=Mouse Zone : MK=Mouse Key
  61.    If S=95 Then WRITE
  62.    If MZ=3 and MK>0 Then ADV
  63.    If MZ=2 and MK>0
  64.       Screen 0 : Cls 21,0,0 To 330,35
  65.       If Rnd(6)<>3
  66.          Wait Vbl : Screen Hide 0 : Wait Vbl : CH=99
  67.          HELP
  68.       Else 
  69.          CH=98
  70.          PLEH
  71.       End If 
  72.    End If 
  73.    If MZ=1 and MK>0 Then EMPLOY
  74. End Proc[CH]
  75. Procedure HELP
  76.    Screen Open 2,360,260,32,Lowres : Screen Display 2,120,30,, : Screen To Back : Curs Off : Flash Off 
  77.    Get Palette 0 : Cls 21 : Wait Vbl : Screen To Front 2 : Set Font 3
  78.    Ink 23,21
  79.    Text 48,102,"Click START to start"
  80.    Text 48,152,"Click STOP to stop"
  81.    Gr Writing 8 : I=11 : Paste Bob 200,200,5 : Limit Mouse 315,233 To 389,259
  82.    Draw 101,107 To 168,107 : Draw 101,157 To 153,157
  83.    Repeat 
  84.       Ink I,21 : I=Rnd(19)+1
  85.       Text 50,100,"Click START to start"
  86.       Ink I,21 : I=Rnd(19)+1
  87.       Text 50,150,"Click STOP to stop"
  88.       Ink I,21 : I=Rnd(19)+1 : Text 104,100,"START" : Ink I,21 : I=Rnd(19)+1 : Text 104,150,"STOP"
  89.       I=Rnd(19)+1 : Ink I,21 : Draw 103,105 To 170,105 : I=Rnd(19)+1 : Ink I,21 : Draw 103,155 To 155,155
  90.       T=Timer : MK=Mouse Key
  91.       Repeat 
  92.          MK=Mouse Key
  93.          Exit If MK>0,2
  94.       Until Timer=>T+15
  95.    Until MK>0
  96.    If MK=2 Then EDDY
  97.    Gr Writing 1 : Screen Close 2 : Screen Show 0 : Limit Mouse : X Mouse=274 : Y Mouse=74
  98. End Proc
  99. Procedure EMPLOY
  100.    Screen Close 1 : Hide 
  101.    Screen 0 : Reserve Zone : Cls 21 : Set Font 3 : Ink 11,21 : Text 50,100,"What  is  your  name?"
  102.    AM$="A 0,(2,35)(3,10)(4,10)(3,10)"
  103.    Bob 1,130,120,2 : Wait Vbl : Channel 1 To Bob 1 : Amal 1,AM$ : Amal On 1
  104.    A$="" : NAME$="" : Ink 4,21
  105.    Do 
  106.       Repeat 
  107.          Clear Key : AC=0 : AD=0 : A$=""
  108.          Repeat 
  109.             A$=Inkey$
  110.             If Len(NAME$)>15 Then A$=Chr$(8)
  111.             A$=Lower$(A$) : AC=Asc(A$) : AD=Scancode
  112.          Until A$<>""
  113.       Until AC=13 or AC=8 or AD=70 or(AC>96 and AC<123)
  114.       If AC<>8 or AD<>70
  115.          If Len(NAME$)=0 : A$=Upper$(A$) : Amal Off 1 : Bob Off 1 : Wait Vbl : End If 
  116.          If A$<>Chr$(13) : NAME$=NAME$+A$ : End If 
  117.          W=Text Length(NAME$) : Text(305-W)/2,125,NAME$
  118.       End If 
  119.       If AC=13 : Cls 21 : Exit : End If 
  120.       If AC=8 or AD=70
  121.          Text 10,125,Space$(150) : NAME$="" : Bob 1,130,120,2 : Amal 1,AM$ : Amal On 1
  122.       End If 
  123.    Loop 
  124.    Show : SMELL
  125. End Proc
  126. Procedure PLEH
  127.    Bob 1,100,111,1 : Wait 2 : Bob 1,50,111,1 : Wait 2 : Bob 1,23,111,1
  128.    T=Timer : Repeat : Until Timer>=T+25
  129.    X Mouse=274 : Y Mouse=74
  130.    Bob 1,234,111,1 : T=Timer : Repeat : Until Timer>=T+10
  131. End Proc
  132. Procedure SELL
  133.    Screen 0 : Reserve Zone 3 : Cls 21 : Y=80 : Text 18,50,"Which  type  of  helper  are  you?"
  134.    Set Zone 1,100,80 To 255,116
  135.    Set Zone 2,100,131 To 255,166
  136.    Set Zone 3,100,170 To 255,206 : X Mouse=370 : Y Mouse=140
  137.    For N=1 To 3
  138.       Paste Bob 100,Y,N+7
  139.       Add Y,50
  140.    Next N
  141.    Repeat 
  142.       MZ=Mouse Zone : MK=Mouse Key
  143.    Until MZ>0 and MK>0
  144.    Reserve Zone 
  145.    LEVEL=MZ : SCORE=100 : A$=NAME$+"|"+Str$(LEVEL)+""+"/XXX\"+Str$(SCORE) : Command Line$=A$
  146.    Sam Loop Off : Cls 21 : Amal Off : Bob Off : Wait 150
  147.    Text 50,100,"Get  packing..." : Volume 63
  148.    Run "kids-7:pack.amos"
  149. End Proc
  150. Procedure SMELL
  151.    Screen 0 : Double Buffer : Cls 21 : Y=100 : Ink 11,21 : Text 25,50,"        Will  you  help  my  little"
  152.    Text 25,70,"              chum  on  holiday?" : X Mouse=370 : Y Mouse=140
  153.    Reserve Zone 2 : Set Zone 1,130,100 To 193,136 : Set Zone 2,130,140 To 192,176
  154.    A1$="A 0,(11,12)(12,12)" : A1$=A1$+"L: M 0,-40,20; P; M 0,40,10; P; J L" : A4$="A 0,(16,12)(17,12)(18,12)" : Channel 2 To Bob 2
  155.    A2$="A 0,(13,4)(14,4)(15,4)" : A3$="A 0,(11,20)(12,20)" : Bob 1,50,150,11 : Wait Vbl 
  156.    For N=1 To 2
  157.       Paste Bob 130,Y,N+5
  158.       Add Y,40
  159.    Next N
  160.    Repeat 
  161.       MZ=Mouse Zone : MK=Mouse Key
  162.       If MZ=0 and T$<>A3$ Then Bob 1,50,150,11 : Wait 3 : T$=A3$ : Amal 1,A3$ : Amal On 1 : If CRY Then Amal Off 2 : Bob Off 2 : CRY=False : Wait Vbl 
  163.       If MZ=1 and T$<>A1$ Then Bob 1,50,150,11 : Wait 3 : T$=A1$ : Amal 1,A1$ : Amal On 1 : If CRY Then Amal Off 2 : Bob Off 2 : CRY=False : Wait Vbl 
  164.       If MZ=2 and T$<>A2$
  165.          Bob 1,50,150,13 : T$=A2$ : Amal 1,A2$ : Amal On 1 : Wait 3
  166.          Bob 2,42,175,16 : Wait 3
  167.          Amal 2,A4$ : Amal On 2 : CRY=True
  168.       End If 
  169.    Until MZ>0 and MK>0
  170.    Reserve Zone 
  171.    If MZ=2
  172.       Sam Loop Off 
  173.       Screen Close 0 : Amal Off : Bob Off : Wait 100
  174.       BIGGIES
  175.    Else 
  176.       SELL
  177.    End If 
  178. End Proc
  179. Procedure ADV
  180.    Screen 0 : Cls 21 : Pen 3 : Paper 21 : Ink 14,21 : Flash 3,"(f00,25)(bbb,25)"
  181.    ' MAX  "be exclusive discs for subscribers only."  
  182.    Home : Print : Print : Print : Print 
  183.    Box 20,20 To 330,250 : Ink 13, : Box 19,19 To 331,251 : Ink 14, : Box 18,18 To 332,252
  184.    Centre "WARNING" : Print : Print : Pen 11
  185.    Centre "KIDS DISK discs" : Print : Print 
  186.    Centre "The subscribers mailing list now" : Print 
  187.    Centre "stretches all the way to Australia." : Print : Print 
  188.    Centre "In the future there may be exclusive " : Print 
  189.    Centre "discs for subscribers only." : Print : Print 
  190.    Centre "If you would like to join the" : Print 
  191.    Centre "children, parents and schools already" : Print 
  192.    Centre "on the list and receive the next" : Print 
  193.    Centre "five discs please send ï¿½4" : Print : Print : Print 
  194.    Centre "      to...    Duncan Moran" : Print 
  195.    Centre "                  24 First Avenue" : Print 
  196.    Centre "             Colwyn Bay" : Print 
  197.    Centre "        Clwyd" : Print 
  198.    Centre "           LL28 4DQ" : Print : Print : Print 
  199.    Centre "In return I will send you more" : Print 
  200.    Centre "Kids Disk discs as they are finished" : Print : Print : Pen 3
  201.    Centre "Click to continue"
  202.    Repeat : MK=Mouse Key : Until MK>0
  203.    End 
  204. End Proc
  205. Procedure EDDY
  206.    Dim WRDS$(20) : Gosub CLIT
  207.    Hide : Cls 21 : Ink 14,21 : Box 20,20 To 330,250 : Ink 13, : Box 19,19 To 331,251 : Ink 14, : Box 18,18 To 332,252
  208.    For N=40 To 249 Step 16
  209.       Draw 21,N To 329,N : Ink 14,
  210.       Draw 21,N+1 To 329,N+1 : Ink 13,
  211.    Next N
  212.    Set Font 0 : Ink 3, : Gr Writing 1
  213.    Do 
  214.       TMP=1
  215.       Text 22,52,"1:  Edit the word list  -  Beach "
  216.       Text 22,68,"2:  Edit the quiz list  -  Forest "
  217.       Text 22,84,"3:  None of the above   -  Quit editor"
  218.       GREY : CHS=SELECT : If CHS=3 Then Show : Pop Proc
  219.       TMP=0
  220.       On CHS Gosub BEACH,FUREST
  221.       WIPE
  222.    Loop 
  223.    BEACH:
  224.    WIPE
  225.    Text 22,52,"1:  Level one words   -  Beginners "
  226.    Text 22,68,"2:  Level two words   -  Middling "
  227.    Text 22,84,"3:  Level three words -  Advanced "
  228.    GREY : CHS=SELECT
  229.    If CHS=1 Then WLT$="words1.dat"
  230.    If CHS=2 Then WLT$="words2.dat"
  231.    If CHS=3 Then WLT$="words3.dat"
  232.    WIPE : Text 22,68,"       LOADING WORD LIST"
  233.    Open In 1,"KIDS-7:bits/"+WLT$
  234.    For N=1 To 20 : Input #1,A$ : WRDS$(N)=A$ : Next N
  235.    Close 1 : M=1 : T$="bch"
  236.    WIPE : Gosub REDDY
  237.    Do 
  238.       GREY
  239.       Exit If SELECT=99
  240.       If SELECT<>33
  241.          Gosub CHANGE
  242.       Else 
  243.       If M=1 : M=11 Else M=1 : End If 
  244.          WIPE
  245.          Gosub REDDY
  246.       End If 
  247.    Loop 
  248.    Gosub GROUT
  249.    Return 
  250.    '
  251.    '
  252.    '
  253.    FUREST:
  254.    Gosub CLIT : WIPE
  255.    Text 22,52,"   Sorry.  My Amiga died before I"
  256.    Text 22,68,"   managed to finish this.  Use a"
  257.    Text 22,84,"   word processor or text editor to"
  258.    Text 22,100,"   edit the questions which are in"
  259.    Text 22,116,"       KIDS-7:BITS/quizN.dat"
  260.    Text 22,132,"    Enter 99 to return to menu"
  261.    '   GREY : CHS=SELECT : T$="fur" 
  262.    If CHS=1 Then WLT$="quiz1.dat"
  263.    If CHS=2 Then WLT$="quiz2.dat"
  264.    If CHS=3 Then WLT$="quiz3.dat"
  265.    '   WIPE : Text 22,68,"         LOADING QUIZ LIST" 
  266.    '   Open In 1,"KIDS-7:bits/"+WLT$
  267.    '   For N=1 To 10 : Input #1,A$,B$,C$,D$ : WRDS$(N)=A$ : Next N
  268.    '   Close 1 : M=1
  269.    '   WIPE : Gosub REDDY 
  270.    Do 
  271.       GREY
  272.       Exit If SELECT=99
  273.       Gosub QCHANGE
  274.    Loop 
  275.    Gosub GROUT
  276.    Return 
  277.    '
  278.    '
  279.    '
  280.    CHANGE:
  281.    XCH$=WRDS$(SELECT) : Text 22,36,"                                "
  282.    Text 22,36,"Enter your word: "
  283.    NT=SELECT : If NT>10 Then NT=NT-10
  284.    Text 22,((NT-1)*16)+52,"     >  ?  <    "
  285.    GRAY
  286.    If Len(CHANGE$)<8
  287.       WRDS$(SELECT)=CHANGE$ : WRDS$(0)="C"
  288.    Else 
  289.       WIPE
  290.       Text 22,68,"     Not Done - Word too long!"
  291.       WRDS$(SELECT)=XCH$ : Wait 50
  292.    End If 
  293.    WIPE : Gosub REDDY
  294.    Return 
  295.    '
  296.    '
  297.    QCHANGE:
  298.    XCH$=WRDS$(SELECT) : Text 22,36,"                                "
  299.    Text 22,36,"Enter new question: "
  300.    NT=SELECT : Text 22,((NT-1)*16)+52,"        >  ?  <                 "
  301.    GRAY
  302.    If Len(CHANGE$)<32
  303.       WRDS$(SELECT)=CHANGE$ : WRDS$(0)="C"
  304.    Else 
  305.       WIPE
  306.       Text 22,68,"   Not Done - Question too long!"
  307.       WRDS$(SELECT)=XCH$ : Wait 50
  308.    End If 
  309.    WIPE : Gosub REDDY
  310.    Return 
  311.    REDDY:
  312.    TT=M
  313.    If M=11 : SH$="  33:  Show items 1 - 10  " : End If 
  314.    If M=1 : SH$="  33:  Show items 11 - 20  " : End If 
  315.    For N=52 To 200 Step 16
  316.       T$=Str$(M)+":   "+WRDS$(M) : If M<10 : T$=" "+T$ : End If 
  317.       Text 22,N,T$
  318.       Inc M
  319.    Next N
  320.    Text 32,228,SH$
  321.    If TMP=0 Then Text 32,244,"  99:  SAVE and return to menu"
  322.    M=TT
  323.    Return 
  324.    GROUT:
  325.    WIPE
  326.    If WRDS$(0)="C"
  327.       Text 22,68,"         SAVING NEW LIST"
  328.       Open Out 1,"KIDS-7:bits/"+WLT$
  329.       For N=1 To 20 : Print #1,WRDS$(N) : Next N
  330.       Close 1
  331.    Else 
  332.       Text 22,68,"          NO CHANGES MADE!    "
  333.       Wait 25
  334.    End If 
  335.    WRDS$(0)=" "
  336.    Return 
  337.    CLIT:
  338.    For N=0 To 20 : WRDS$(N)=" " : Next N
  339.    Return 
  340. End Proc
  341. Procedure GREY
  342.    Text 22,36,"Type number & press RETURN:          "
  343.    Clear Key : Ink 11, : Text 250,36,"     "
  344.    Repeat 
  345.       Repeat 
  346.          A$=Inkey$ : AA=Asc(A$)
  347.          If A$=Chr$(8) Then T$="" : A$="" : Text 250,36,"      "
  348.       Until A$=Chr$(13) or(AA>47 and AA<58)
  349.       If A$<>Chr$(13)
  350.          T$=T$+A$ : Text 250,36,T$
  351.       End If 
  352.    Until A$=Chr$(13)
  353.    SELECT=Val(T$) : Ink 3,
  354. End Proc
  355. Procedure WIPE
  356.    For N=52 To 200 Step 16
  357.       Text 22,N,"                                      "
  358.    Next N
  359.    Text 22,228,"                                   "
  360.    Text 32,244,"                                   "
  361. End Proc
  362. Procedure GRAY
  363.    Clear Key : Ink 11, : Text 160,36,"            "
  364.    Repeat 
  365.       Repeat 
  366.          A$=Inkey$ : AA=Asc(A$)
  367.          If A$=Chr$(8) Then T$="" : A$="" : Text 160,36,"              "
  368.       Until A$=Chr$(13) or(AA>96 and AA<123)
  369.       If A$<>Chr$(13)
  370.          T$=T$+A$ : Text 160,36,T$
  371.       End If 
  372.    Until A$=Chr$(13)
  373.    CHANGE$=T$ : Ink 3,
  374. End Proc
  375. Procedure WRITE
  376.    Read Text "KIDS-7:bits/help.text"
  377. End Proc